| Identifier.use | Identifier | IdUsageType | The identifier information for a health condition is represented as Identifier records that reference the health condition record using their Identifier.ParentRecordId field. | 
| Identifier.system | Identifier | SourceSystem |  | 
| Identifier.value | Identifier | IdValue |  | 
| Identifier.type.coding.code | Identifier | IDTypeId |  | 
| basedOn | CareObservation | BasedOnId | While FHIR defines observation.basedOn as a zero-to-many reference,  the Salesforce implementation is a zero-to-one text field | 
| partOf | CareObservation | PartOfId | While FHIR defines observation.partOf as a zero-to-many reference,  the Salesforce implementation is a zero-to-one text field | 
| category.coding.code | CareObservation | Category | While FHIR defines observation.category as a zero-to-many reference to code  set bundle, the Salesforce implementation is a zero-to-one picklist. | 
| status | CareObservation | ObservationStatus | While FHIR defines observation.status as a reference to code set bundle,  the Salesforce implementation is a picklist. | 
| code.coding.code | CareObservation | CodeId | While FHIR defines observation.code as a one-to-one reference to code set bundle,  Salesforce implements this as three separate CodeSet reference fields | 
| subject | CareObservation | ObservedSubjectId | The Salesforce implementation of observation.subject  supports references to only patients. | 
| encounter | CareObservation | EncounterId |  | 
| effective.effectiveDateTime | CareObservation | EffectiveDateTime |  | 
| effectivePeriod.start | CareObservation | EffectiveDateTime | Because Salesforce doesn’t support a native period data type,  the observation.effective.effectivePeriod field is flattened  into a set of effective date and end date fields. | 
| effectivePeriod.end | CareObservation | EndDateTime |  | 
| issued | CareObservation | IssuedDateTime | Because Salesforce doesn’t support a native instant data type, the observation. issued FHIR resource is implemented as a date time field in Salesforce. | 
| performer | CareObservation | ObserverId | While FHIR defines observation.performer as a zero-to-many resource,  the Salesforce implementation is a zero-to-one reference to Account  and Healthcare Provider. | 
| resultsInterpreter | CareObservation | InterpretedById | While FHIR defines observation.resultsInterpreter as a zero-to-many resource,  the Salesforce implementation is a zero-to-one reference to CarePerformer. | 
| valueQuantity.value | CareObservation | ObservedValueType | A Salesforce-original field that determines whether the value stored in  CareObservation.ObservedValueNumerator and CareObservation.ObservedValueDenominator  is a range, ratio, or quantity. This field is used only when the data entered for  observation.value is one these data types. | 
| valuePeriod.start | CareObservation | ObservationStartTime | CareObservation.ObservationStartTime is used for both observation.component.value.valueDateTime  and observation.component.value.valuePeriod.  Because Salesforce doesn’t support a native period data type,  the observation.value.valuePeriod FHIR resource is flattened to a set of start and end dates. | 
| valuePeriod.end | CareObservation | ObservationEndTime |  | 
| valueCodeableConcept.coding.code | CareObservation | ObservedValueCodeId |  | 
| valueRatio.numerator.value | CareObservation | ObservedValueNumerator | Because Salesforce doesn’t support native range, ratio, and quantity  data types, the observation.value FHIR resource is flattened to a set  of numerator, denominator, and unit fields for this type of data. | 
| valueRatio.denominator.value | CareObservation | ObservedValueDenominator |  | 
| valueBoolean | CareObservation | IsOutcomePositive | CareObservation.IsObserved is a duplicate field that can  store the same information. Use only one of these two fields. | 
| valueString | CareObservation | ObservedValueText |  | 
| interpretation.coding.code | CareObservation | ValueInterpretation | While FHIR defines observation.interpretation as a zero-to-many  code set bundle, the Salesforce implementation is a zero-to-one picklist. | 
| bodySite.coding.code | CareObservation | BodySiteId |  | 
| method.coding.code | CareObservation | MethodId |  | 
| device | CareObservation | DeviceId | References to device metrics records aren’t supported. | 
| referenceRange.low.value | CareObservation | LowerBaselineValue | Because Salesforce doesn’t support a native quantity data type,  the observation.referenceRange.low FHIR resource is flattened  to a set of value and unit fields for this type of data. | 
| referenceRange.low.unit | CareObservation | BaselineUnitId |  | 
| referenceRange.high.value | CareObservation | UpperBaselineValue | Because Salesforce doesn’t support a native quantity data type,  the observation.referenceRange.high FHIR resource is flattened  to a set of value and unit fields for this type of data. | 
| referenceRange.text | CareObservation | BaselineValueText |  | 
| hasMember | CareObservation | RelatedObservationId | While FHIR defines observation.hasMember as a zero-to-many resource,  the Salesforce implementation is zero-to-one.  Only references to observation records are supported. | 
| component.code.coding.code | ObservationComponent | ComponentTypeCodeId |  | 
| component.valueQuantity.value | ObservationComponent | ValueType | A Salesforce-original field that determines whether the value stored in  CareObservationComponent.ObservedValueNumerator and CareObservationComponent.ObservedValueDenominator  is a range, ratio, or quantity. This field is used only when the data entered  for observation.component.value is one these data types. | 
| component.valueQuantity.unit | ObservationComponent | ObservedValueUnitId |  | 
| component.valuePeriod.start | ObservationComponent | ObservationStartTime | CareObservationComponent.ObservationStartTime is used for both  observation.component.value.valueDateTime and observation.component.value.valuePeriod.  Because Salesforce doesn’t support a native period data type, the  observation.component.value.valuePeriod FHIR resource is flattened to a set of start and end dates. | 
| component.valuePeriod.end | ObservationComponent | ObservationEndTime |  | 
| component.valueCodeableConcept.coding.code | ObservationComponent | ObservedValueCodeId |  | 
| component.valueRatio.numerator.value | ObservationComponent | ObservedValueNumerator | Because Salesforce doesn’t support native range, ratio, and quantity data types,  the observation.component.value FHIR resource is flattened to a set of numerator,  denominator, and unit fields for this type of data.  The Salesforce implementation of observation.component.value doesn’t support  observation.component.value.valueSampleData and observation.component.value.valueTime. | 
| component.valueRatio.denominator.value | ObservationComponent | ObservedValueDenominator |  | 
| component.valueBoolean | ObservationComponent | IsObserved |  | 
| component.valueString | ObservationComponent | ObservedValueText |  | 
| component.dataAbsentReason | ObservationComponent | MissingDataReason | While FHIR defines observation.component.dataAbsentReason as a  code set bundle reference, the Salesforce implementation is a text field. | 
| component.interpretation.coding.code | ObservationComponent | ValueInterpretation | While FHIR defines observation.component.interpretation as a  code set bundle reference, the Salesforce implementation is a picklist. | 
| component.referenceRange.low.value | ObservationComponent | LowerBaselineValue |  | 
| component.referenceRange.low.unit | ObservationComponent | BaselineUnitId |  | 
| component.referenceRange.high.value | ObservationComponent | UpperBaselineValue |  | 
| component.referenceRange.text | ObservationComponent | BaselineValueText |  |